package br.com.feltex.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.feltex.dao.AlunoDAO;
import br.com.feltex.entidade.Aluno;

@WebServlet("/AlunoServlet")
public class AlunoServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public AlunoServlet() {
		super();
	}

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String acao = request.getParameter("acao");
		String destino = "Sucesso.jsp";
		String mensagem = "";
		//List<Aluno> lista = new ArrayList<Aluno>();

		List<Aluno> lista = new ArrayList<Aluno>();

		Aluno aluno = new Aluno();
		AlunoDAO dao = new AlunoDAO();

		try {
			aluno.setMatricula(Long.parseLong(request.getParameter("matricula")));
			aluno.setNome(request.getParameter("nome"));
			aluno.setTelefone(request.getParameter("telefone"));
			//aluno.setDataCadastrado(new Date());
						
			if (acao.equalsIgnoreCase("Incluir")) {
				dao.incluir(aluno);
			} else	if (acao.equalsIgnoreCase("Alterar")) {
				dao.alterar(aluno);
			} else if (acao.equalsIgnoreCase("Excluir")) {
				dao.excluir(aluno);
			} else if (acao.equalsIgnoreCase("Consultar")) {
				aluno = dao.consultar(aluno.getMatricula());
			}
		} catch (Exception e) {
			mensagem += e.getMessage();
			destino = "Erro.jsp";
			e.printStackTrace();
		}
		
		lista = dao.listar();
		
		if (mensagem.length() == 0){
			mensagem = "Aluno Cadastrado com sucesso!";	
		}		
		
		request.setAttribute("listaAluno", lista);
		request.setAttribute("mensagem", mensagem);
		request.setAttribute("aluno", aluno);

		RequestDispatcher rd = request.getRequestDispatcher(destino);
		rd.forward(request, response);
	}
}